<template>
    <van-nav-bar title="申请退货" left-text="" left-arrow @click-left="goBack" />

    <section class="aui-flexView">
        <!-- 订单详细 -->
        <section class="aui-scrollView">
            <!-- 订单状态 -->
            <div class="aui-pay-change">
                <div class="aui-flex">
                    <div class="aui-flex-box">
                        <h3>{{ detail.status_text }}</h3>
                    </div>
                    <div class="aui-pay-zfb">
                        <img src="/assets/images/icon-zfb.png" alt="" />
                    </div>
                </div>
            </div>

            <!-- 收货地址 -->
            <div class="aui-flex">
                <div class="aui-flex-add">
                    <img :src="LoginUser.avatar_text" alt="" />
                </div>
                <div class="aui-flex-box">
                    <h3>
                        {{ detail.address.consignee }} <em> {{ detail.address.mobile }}</em>
                    </h3>
                    <p>{{ detail.address.region_text }}{{ detail.address.address }}</p>
                </div>
            </div>

            <!-- 退货信息 -->
            <van-form @submit="onSubmit">
                <van-cell-group inset>
                    <!-- 退款类型 -->
                    <van-field v-model="status_text" is-link readonly name="status" label="退款类型" placeholder="点击选择退款类型"
                        @click="showPicker = true"  :rules="[{ required: true, message: '请选择退款类型' }]"/>
                    <van-popup v-model:show="showPicker" destroy-on-close position="bottom">
                        <van-picker :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
                    </van-popup>

                    <!-- 退款原因 -->
                    <van-field v-model="business_reason" name="business_reason" label="退款原因" placeholder="请输入退款原因"
                        :rules="[{ required: true, message: '请填写退款原因' }]" />
                </van-cell-group>
                <div style="margin: 16px;">
                    <van-button round block type="primary" native-type="submit">
                        提交
                    </van-button>
                </div>
            </van-form>

        </section>
    </section>
</template>

<script setup>
const { proxy } = getCurrentInstance()
const goBack = () => { proxy.$router.push('/order/index') }
const LoginUser = reactive(proxy.$cookies.get('LoginUser') ?? {})
const orderid = proxy.$route.query.orderid ? proxy.$route.query.orderid : 0;
const detail = ref({
    address: {}
})
const business_reason = ref('')
const status_text = ref('')
const status = ref('')
const showPicker = ref(false);
const columns = [
    { text: '仅退款', value: '-1' },
    { text: '退款退货', value: '-2' },
];

onBeforeMount(() => {
    getOrderInfoData()
})
const getOrderInfoData = async () => {
    let result = await Api.OrderInfo({
        busid: LoginUser.id,
        orderid: orderid
    })
    if (result.code == 1) {
        detail.value = result.data
    }
}
const onConfirm = ({ selectedValues, selectedOptions }) => {
    status_text.value = selectedOptions[0]?.text;
    status.value = selectedOptions[0]?.value;
    showPicker.value = false;
}
const onSubmit = async () => {
    let data = {
        busid: LoginUser.id,
        orderid: orderid,
        business_reason: business_reason.value,
        status: status.value
    }
    let result  = await Api.OrderRefund(data)
    if(result.code == 1)
    {
        success({
            message: result.msg,
            onClose: () =>{
                goBack()
            }
        });
    }
    else
    {
        error(result.msg);
    }
}
</script>
<style>
@import url('/assets/css/info.css');
</style>